Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[java-micronaut] Allow default implementation to return HTTP 501 #12365

Merged
merged 1 commit into from
May 18, 2022

Conversation

auke-
Copy link
Contributor

@auke- auke- commented May 13, 2022

The default controller implementation returns an empty response. While
this might be an expected default for some users we want the default
implementation to return HTTP 501 Not Implemented instead. This will
support rapid development when the specs aren't finalized yet and thus
change often while preventing the methods from being unimplemented by
accident without the user of the API noticing it.

By adding a property which allows the generation of default methods
which return HTTP 501 developers can opt-in for this behavior.

PR checklist

  • Read the contribution guidelines.
  • Pull Request title clearly describes the work in the pull request and Pull Request description provides details about how to validate the work. Missing information here may result in delayed response from the community.
  • Run the following to build the project and update samples:
    ./mvnw clean package 
    ./bin/generate-samples.sh
    ./bin/utils/export_docs_generators.sh
    
    Commit all changed files.
    This is important, as CI jobs will verify all generator outputs of your HEAD commit as it would merge with master.
    These must match the expectations made by your contribution.
    You may regenerate an individual generator by passing the relevant config(s) as an argument to the script, for example ./bin/generate-samples.sh bin/configs/java*.
    For Windows users, please run the script in Git BASH.
  • If your PR is targeting a particular programming language, @mention the technical committee members, so they are more likely to review the pull request.

@andriy-dmytruk

@auke- auke- force-pushed the micronaut-not-implemented branch from 2e8b10c to 5032194 Compare May 13, 2022 14:27
Copy link
Contributor

@andriy-dmytruk andriy-dmytruk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@auke- Thank you for the PR.
Looks like a valuable contribution to me.

The default controller implementation returns an empty response. This
might result in unexpected behavior when an operation isn't implemented,
as a consumer of the API there is no way to notice the difference
between an unimplemented method and an actual empty response.

By changing the default behavior to return HTTP 501 Not Implemented the
user will be made aware of unimplemented methods. The former default
behavior, returning an empty response by default, can be activated with
a configuration option.
@auke- auke- force-pushed the micronaut-not-implemented branch from 5032194 to 97eb95f Compare May 14, 2022 10:56
Copy link
Contributor

@andriy-dmytruk andriy-dmytruk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested locally - works as expected. Thanks.
@wing328 Can you merge?

@wing328 wing328 merged commit a575096 into OpenAPITools:master May 18, 2022
@wing328 wing328 added this to the 6.0.0 milestone May 18, 2022
@wing328
Copy link
Member

wing328 commented May 28, 2022

Thanks again for the PR, which has been included in the v6.0.0 release: https://twitter.com/oas_generator/status/1529669733934841856

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants